# 12.2 Json 配置
jfinal 官方提供了 Json 抽象类的三个实现:JFinalJson、FastJson、Jackson,如果不进行配置,那么默认使用 JFinalJson 实现,指定为其它实现需要在 configConstant 进行如下配置:
public void configConstant(Constants me) {
me.setJsonFactory(new FastJsonFactory());
}
1
2
3
2
3
上面配置将系统默认使用的 JFinalJson 切换到了 FastJson。还可以通过扩展 Json 抽象类以及 JsonFactory 来实现定制的 Json 实现。
假定用户扩展出了一个 MyJson 与 MyJsonFactory ,那么可以通过如下的方式切换到自己的实现上去:
public void configConstant(Constants me) {
me.setJsonFactory(new MyJsonFactory());
}
1
2
3
2
3
此外,jfinal 官方还提供了 MixedJson、MixedJsonFactory 实现,这个实现让转 json string 时使用 JFinalJson,反向转成对象则使用 FastJson。 如果希望在非 web 下进行配置,需要使用 JsonManager,例如:
JsonManager.me().setDefaultJsonFactory(new MixedJsonFactory());
1
还可以配置 Date 类型转 json 后的格式:
public void configConstant(Constants me) {
me.setJsonDatePattern("yyyy-MM-dd");
}
1
2
3
2
3
注意,在使用 MixedJsonFactory、FastJsonFactory、JacksonFactory 时需要添加其依赖,具体依赖参考下一小节内容。